This invention relates to controllers that employ standard universal asynchronous receiver transmitters (UARTs) to asynchronously communicate over a peer to peer network with minimal hardware and at minimal cost. The present invention finds particularly advantageous application in the art of trunked radio repeater systems.
Trunked radio repeater systems include a primary site controller that receives and sends digital signals from/to various mobile transceivers via corresponding trunking cards. The primary site controller performs various control functions of the system such as call logging, dynamic regrouping, patch coordination, and routine (but nonetheless very important) control functions including assigning channels to new calls. One or more dispatch consoles, also connected to the primary site controller through its own trunking card, generate messages controlling the primary site controller and also monitor the status of the entire system via messages sent from the site controller.
In the past, mobile radio transceivers included a trunk-mounted mobile radio transceiver unit connected via a multiple conductor cable to a dashboard mounted control head in a vehicle. The control head was relatively simple, including only an on-off switch, a volume control, a microphone associated with a push to talk button (PTT), a speaker, receive/transmit indicator lamps, and a channel selector switch. The limited control functions provided by this type of simple control head were implemented using dedicated, independent control lines of the multi-conductor cable. For example, the on/off switch was connected to a dedicated control cable conductor; the volume control had its own conductor(s), the receive and transmit indicator lamps had respective dedicated conductors, etc.
Modern digital radio transceivers often interface with a wide variety of different types of external equipment commonly called "options" and include such things as mobile data terminals (MDTs), multiple data control heads, and the like. One way to connect these options to such a digital radio transceiver is to provide dedicated ports on the transceiver for each type of device. This is generally unsatisfactory because of the large number of different types of devices a user may want to connect to a particular radio transceiver. Another solution is to customize particular radio transceivers at the factory to interface with specific devices. But this increases manufacturing costs and limits users to only those options anticipated at the time of purchase.
One recent approach to this problem is disclosed in U.S. Pat. No. 4,903,262 to Dissosway et al entitled "Hardware Interface And Protocol For A Mobile Radio Transceiver" the disclosure of which is incorporated herein by reference. In that patent, control signals are communicated between a digital mobile transceiver, a digital control head, and a mobile data terminal over a common serial peripheral bus using a particular messaging protocol and architecture. While significantly improved over the earlier communication methods, the '262 patent protocol and architecture suffer some disadvantages. For example, the '262 network is configured as a master/slave system. As a result, once a communications request line is activated by a "slave" device, a single master device must poll all the other slave devices on the network to see which slave device made the request to send messages. Thus, for two slave devices that wish to communicate with each other, the master must poll the "sending" slave device for the message and repeat the message for the "receiving slave" device. This configuration is inefficient and requires considerable data processing overhead.
Perhaps more significantly, this approach is not fault tolerant. If the master fails, the entire network goes down. This could be particularly devastating in public service applications of trunked radio communication systems including police, fire and other public safety officials. In these emergency situations involving significant risks to life and property, it is highly desirable to have a fault tolerant as well as efficient communications network.
In contrast to a master/slave architecture, a "peer-to-peer network" permits every device on the network to initiate as well as receive messages from the other devices on the network. Because all devices have equal access to the network to send and receive messages, they are referred to as "peers." U.S. Pat. No. 4,992,926 entitled "Peer To Peer Register Exchange Controller For Industrial Programmable Controllers" discloses a communication network including a group of programmable logic controllers (PLCs) which can communicate in a peer to peer fashion. However, the '926 patent requires that a time slice be allocated to each device, with each time slot requiring a first block for sending data and a second block referred to as an interblock gap time. Devices can only send messages during their corresponding time slice. The complicated and restricted nature of the peer-to-peer type network of the '926 patent, e.g. the time slice communication protocol, requires significant data processing overhead to monitor and administer.
Another drawback of certain other peer to peer serial networks is that in order for a controller to asynchronously transmit and receive messages, specialized communication hardware must be provided in the controller. For example, U.S. Pat. No. 4,780,814 entitled "Global Serial Channel For Microcontroller" describes a proprietary communications interface referred to as the "GSC interface" that permits a microcontroller (i.e. the INTEL 8051 microcontroller) formed on the same IC chip as the controller to intelligently communicate with peripheral units over a serial bus in peer to peer fashion. The GSC interface supports carrier-sense multi-access with collision detection (CSMA/CD) which is a nonstandard, proprietary communication protocol that requires the proprietary GSC interface circuitry to implement.
Use of proprietary circuitry and protocols has a number of drawbacks. First, its specialized nature and its single source for purchase make it more expensive and less convenient to obtain relative to standard components mass produced by multiple vendors. Second, proprietary products are usually incompatible with products from other vendors that may be necessary for a particular application. Third, as the relevant technology develops and is refined, proprietary products often become obsolete as standardized, nonproprietary, industry-accepted technology becomes the norm.
The present invention resolves the various drawbacks of the various approaches described above by providing a simple way to coordinate peer to peer communications over a serial network so that each device on that network can independently communicate with any other device on that network. In addition, the present invention accomplishes this using standardized, industry-accepted hardware and protocols for existing microcontrollers including, for example, standard universal asynchronous receiver transmitters (UARTs) and standard RS-485 transceivers.
The peer-to-peer communication system in accordance with the present invention includes multiple controllers where each controller has a microprocessor, memory, and an asynchronous receiver-transmitter connected by a parallel bus. A serial bus includes transmit, receive, and request lines. Each of the controllers is connected to the transmit and receive lines of the serial bus by way of its asynchronous receiver transmitter. Each controller is connected to the request line of the serial bus through an I/O port. The controller detects an idle period on the serial bus and seizes control of the serial bus using that request line. The asynchronous receiver transmitter is preferably a conventional universal asynchronous receiver-transmitter (UART).